/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package propiedades;

/**
 *
 * @author profesor
 */
public class Persona {
    //Variables de instancia
    private String nombre;
    private String nif;
    private String apellidos;
    private int edad;
    private String nss;
    //Variable de clase
    static private int nPersonas = 0;
    
    
    //Constructores
    Persona(String nNombre, String nNif)
    {
        this.nombre = nNombre;
        this.nif = nNif;
    }
    Persona()
    {
        nPersonas++;
    }
    
    Persona(String nNombre, String nNif, String nApellidos, int nEdad)
    {
        this.nombre = nNombre;
        this.nif = nNif;
        this.apellidos = nApellidos;
        this.edad = nEdad;
        nPersonas++;
        
    }
    
    String getNombre()
    {
        return this.nombre;
    }
    
//    void setNombre(String nNombre)
//    {
//        this.nombre = nNombre;
//    }
    
    String getNif()
    {
        return this.nif;
    }
    
//    void setNif(String nNif)
//    {
//        this.nombre = nNif;
//    }
    
    String getNss()
    {
        return this.nss;
    }
    
    void setNss(String nNss)
    {
        this.nombre = nNss;
    }
    
    String getApellidos()
    {
        return this.apellidos;
    }
    
//    void setApellidos(String nApellidos)
//    {
//        this.apellidos = nApellidos;
//    }
    
    int getEdad()
    {
        return this.edad;
    }
    
    void setEdad(int nEdad)
    {
        this.edad = nEdad;
    }
    
    //Métodos
    int calcularDias()
    {
        return this.edad * 365;
    }
    
    void darDeBaja()
    {
        this.nombre = "";
        this.apellidos = "";
        this.nif = "";
        this.edad = 0;
        this.nss = "";
        nPersonas--;
    }  
    String nombrecompleto()
    {
        return this.nombre +" " +this.apellidos;
    }
    public void hablar()
    {
        System.out.println("bla bla bla \n");
    }
    
    //Métodos estáticos
    static int getNPersonas()
    {
        return nPersonas;
    }    
    
    // EJEMPLO
    public String mostrardatos(String fecha)
    {
        String retorno = "";
        
        retorno = "Fecha del informe: " + fecha + "\n";
        retorno = retorno + "Datos básicos\n";
        retorno = retorno + "Nombre: " + this.nombrecompleto() + "\n";
        retorno = retorno + "Nif: " + this.nif + "\n";
        retorno = retorno + "Edad: " + this.edad + " años" + "\n";
        
        return retorno;
        
        // Tambien se puede hacer esto
        //return "Fecha de Informe: " + fecha +this.nombre +" " +this.apellidos +" " +this.nif +" " +this.edad +" años";
    }

    
}
